package com.hngtrust.iir.elk.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author Zhangkangkang
 */
@ApiModel(description = "公告检索请求参数")
@Data
public class NoticeReq {

    /**
     * 每一页条数
     */
    @NotNull(message = "每一页条数为空")
    @ApiModelProperty(value = "每一页条数", dataType = "Integer", required = true)
    private Integer size;

    /**
     * 排序码，顺序和排序顺序一杨
     */
    @NotNull(message = "排序码为空")
    @ApiModelProperty(value = "排序码", dataType = "List", required = true)
    private List<String> orderNumber;

    /**
     * 检索内容
     */
    @ApiModelProperty(value = "检索内容", dataType = "String")
    private String content;

    /**
     * 标签内容
     */
    @NotNull(message = "标签内容为空")
    @ApiModelProperty(value = "标签内容", dataType = "List", required = true)
    private List<String> tags;

    /**
     * 检索内容类型
     */
    @NotBlank(message = "检索内容类型")
    @ApiModelProperty(value = "检索内容类型(0全部、1标题、2内容)",dataType = "String",required = true)
    private String searchType;

    /**
     * 行业分类标签
     */
    @NotNull(message = "行业分类为空")
    @ApiModelProperty(value = "行业分类标签", dataType = "List",required = true)
    private List<String> industryTags;

    /**
     * 公告类型标签
     */
    @NotNull(message = "公告类型为空")
    @ApiModelProperty(value = "公告类型", dataType = "List",required = true)
    private List<String> noticeTypeTags;

    @NotBlank(message = "时间类型不能为空")
    @ApiModelProperty(value = "时间类型（0全部、1近一个月、2近三个月、3近半年、4近一年、5自定义）", dataType = "String", required = true)
    private String timeType;

    @ApiModelProperty(value = "开始日期", dataType = "Date")
    private Date beginDate;

    @ApiModelProperty(value = "结束日期", dataType = "Date")
    private Date endDate;
}
